/**
 *数组去重 利用对象没有重复属性的原则
 */
var arr = [1,'b','b',4,3,3,4,5,1];
Array.prototype.unique = function(){
    var hash = {}; //定义一个hash表
    var arr1 = []; //定义一个新数组
    for(var i=0;i<this.length;i++){
    console.log(hash[this[i]])
    if(! hash[this[i]]){
        hash[this[i]] = true;
        arr1.push(this[i]);
    }
    }
    return arr1;  
}
console.log(arr);
console.log(arr.unique());
/**
 * @param {Function} func 
 * @param {boolean} [withContainer]
 * 可以利用vue
 */
function getFuncStr(func, withContainer) {
    withContainer = withContainer === void 0 ? true : withContainer
    var str = func.toString().match(/\/\*([\s\S]+)\*\//)[1]
    if (!withContainer) {
        return str
    } else {
        return [
            '<div class="vue_root">',
            str,
            '</div>'
        ].join('')
    }
}
/**
 * 价格数字加,
 * 例如：1,000
 */
function formatNum(str) {
    str = str.toString()
    var newStr = "";
    var count = 0;

    if (str.indexOf(".") == -1) {
        for (var i = str.length - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr = str.charAt(i) + "," + newStr;
            } else {
                newStr = str.charAt(i) + newStr;
            }
            count++;
        }
        str = newStr; //+ ".00"自动补小数点后两位
        return str;
    }
    else {
		arr = str.split('.')
        for (var i = arr[0].length - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr = arr[0].charAt(i) + "," + newStr;
            } else {
                newStr = arr[0].charAt(i) + newStr; //逐个字符相接起来
            }
            count++;
        }
		
        str = newStr + '.' + arr[1];//+ (str + "00").substr((str + "00").indexOf("."),3)
        return str;
    }
}
